﻿using System;
using System.Collections.Generic;
using System.Collections;
using System.Text;

namespace PasswordGenerator
{
    /// <summary>
    /// Core class for password generation
    /// </summary>
    public class PasswordManager
    {
        static PasswordGenerationStrategy strategy = new DefaultStrategy();

        /// <summary>
        /// Generate password based on list of the requirements
        /// </summary>
        /// <param name="reqs">List of Requirements</param>
        /// <returns>string</returns>
        public static string GeneratePassword(List<PasswordRequirement> reqs)
        {
            strategy.Init(reqs);
            return strategy.GeneratePassword();
        }
    }
}
